The present invention relates to a graphical user interface (GUI), and more particularly to an improved text entry dialog box system for user input of text and a method of using same. The word “text” as used herein is to be broadly interpreted to encompass any alphanumeric information, including but not limited to: ordinary text, computer commands, numeric values represented by alphanumeric strings, and the like. “Alphanumeric” refers to letters, digits, punctuation symbols, and the like, represented for example in the conventional ASCII format although alphanumeric should not be construed as being limited thereto.
As is well known to those skilled in the art, a GUI interface typically includes a plurality of pictorial representations, or icons, each icon representing a specific entity such as a program, data file, folder, or other element. A pointing device such as a mouse, track-ball, or touch-sensitive screen permits the user to indicate and select a particular icon and thereby launch the associated object. GUI interfaces are usually layered in that selection of an icon may introduce one or more new screen areas, or windows, which provide the user with additional icons. Selection of a folder icon, for example, may open a new window containing icons representing objects contained within the parent folder.
Various GUI interfaces have been widely adopted in various forms, with well known commercial embodiments including the Microsoft Windows, UNIX X-Windows, and the Macintosh Mac OS operating systems. Programs running under these operating systems also usually use a GUI interface. GUI has been found to be an extremely user-friendly format for human-computer interfacing. The use of intuitive GUI interfacing greatly speeds user training and minimizes user effort as measured by keystrokes, mouse clicks, and the like required to accomplish a task. The GUI approach also meshes extremely well with the object-oriented programming paradigm presently preferred for software development.
FIG. 1 shows a typical data entry window 10 provided by a GUI interface. The GUI interface does not direct the user through a fixed, linear sequence of data entry steps. Rather, a typical GUI interface provides a complete data entry form with a large number of simultaneously available input dialog boxes. A distinctive feature of the GUI interface is the typically wide range of available input dialog box types. The GUI interface minimizes user effort by providing sophisticated data entry dialog boxes such as check boxes 12, toggle buttons 14, list boxes 16 and 18, text entry boxes 20, and the like. Often, one or more activation buttons 21 such as the “CONTINUE” 22, “BACK” 24, and “HELP” 26 buttons of FIG. 1 are also provided to initiate various operations.
The user selects, or focuses upon, a particular input dialog box either by selecting it with the pointing device or through a keyboard combination, such as by pressing TAB. After supplying the data, the user defocuses from the dialog box, again either through the pointing device or the keyboard. Typically pressing ENTER will defocus from the current entry dialog box. Defocusing from the dialog box registers, or “enters”, the supplied data.
The dialog boxes used in GUI interfaces are intuitive in part because they limit the number of choices available to the user. For example, the list box 16 limits the user to five age ranges, while list box 18 presumably contains entries corresponding to the names of states, such as “California” or “Ohio”. The data entry window 10 allows the user to input data to the dialog boxes in any order. For example, at the time instant illustrated in FIG. 1, the “Name” 20, “Gender” 14, and “I will be attending” 12 dialog boxes had already been filled out. The user is currently filling out the “Age” list box 16, while the “State of Residence” list box has not yet been filled out, as indicated by the blank space 28.
Another advantage of GUI dialog boxes is that they often can be operated entirely by the pointing device rather than requiring keyboard entry. Referring to the “Age” list box 16 of FIG. 1, the list of age ranges 30 was brought up by selecting the drop down arrow 32 using the pointing device, and the particular age range will subsequently be selected by again using the pointing device. The user never needs to make use of a keyboard to fill out “Age” list box 16. Avoidance of free-form text entry also simplifies post-input processing through elimination of the text parsing step wherein extraneous spaces and other characters are stripped away and the text is verified to be in an acceptable format, such as a numeric format if the input requires a numeric value.
In spite of the advantages of these sophisticated input dialog boxes, GUI interfaces nonetheless necessarily often utilize conventional free-form text entry dialog boxes, such as the “Name” dialog box 20 of FIG. 1. Text entry boxes are indispensable for input of data which is not predictable, such as a personal name 34. Because a name cannot be predicted a priori, a list box or other pointing-device driven input box cannot be applied, and the user must enter the data using a keyboard. Because of the inherently unknown nature of free-form text entry, the prior art teaches very few methods for facilitating this type of input in a GUI environment.
The operation of a typical text entry dialog box is illustrated in greater detail in FIGS. 2(a), 2(b), 2(c), and 2(d). The user is initially presented with a blank entry line 40 as shown in FIG. 2(a). In order to type text, the user first focuses on the entry line such as by pointing to the line and clicking or the like, and thereafter types the data 42 via the keyboard as shown in FIG. 2(b). Next, the user defocuses to enter the text 42 as shown in FIG. 2(c).Typically, an insert location marker or cursor 44 is shown while the entry line is focused and data is being entered. The cursor marks where the next character will be typed. The cursor typically disappears when the user defocuses from the entry line, as shown in FIG. 2(c). If the user later wishes to enter a different text, the entry line 40 must be refocused as shown in FIG. 2(d). Refocusing brings back the cursor 44, typically positioned at the end of the previously entered text 42. In order to enter new text the previously entered text must be deleted, usually through the use of the keyboard “DELETE” or “BACKSPACE” key, and then the new data is typed and the entry line defocused.
One area where the GUI interface has the potential to improve upon this conventional text entry is in the case where the user is likely to want to re-enter previously entered text. Situations of this type arise, for example, when using a search window. Considering a search window as a typical example of such situations, the user typically enters search parameters in multiple input dialog boxes contained within the search window. The dialog boxes typically include one or more free-form text entry dialog boxes. The search is initiated by operating a “START” button or the like also contained within the search window. If the returned results are unsatisfactory, various search parameters may be modified to find optimum search parameters. In this process, the user often will want to return to a previously used search parameter. With a conventional text entry dialog box, the parameter must be re-typed, and for a search the typed text must usually be exactly identical to the previous entry to produce a valid comparison with previous search attempts.
The prior art teaches using a modified drop-down list box in this case. Such a box appears to be identical to the list boxes 16 and 18 of FIG. 1, except that the list entries in the modified box consist of text entries previously entered in the blank space left of the drop-down selection arrow or button. The user may then operate on the drop-down selection button and select a previous entry using the pointing device similarly to the way list box options are selected. Such a modified drop-down list box is sometimes called a drop-down combination box.
This prior art combination box solution is unsatisfactory because it is often confusing to the user. As illustrated in FIG. 3(a ), the user initially encounters the combination box. The unedited box 50 consists of a blank line or space 52 and a dropdown selection button or arrow 54. To the user, this box appears identical to the unedited “State of Residence” list box 18 shown in FIG. 1, and is therefore likely to be interpreted by the user as a list dialog box rather than as a text entry dialog box. This is because in a conventional GUI interface, the user typically associates an isolated blank line or space with a free-form text entry dialog box, while a box with a drop-down arrow or selection button is associated with a list box containing a list of available selections. In the case of the prior art drop-down combination box 50, the user is initially presented with an unfamiliar dialog box which shows a blank space coupled with a drop-down arrow button 54. This box is confusing because it looks like a drop-down list box, but does not function like a drop-down list box.
The correct user action for the drop-down combination box 50 of FIG. 3(a) is to focus on the entry blank section 52 and type in some text, because upon startup of the combination dialog box there are no initial previous text entries and so the list is empty. However, human nature tends to instead focus upon and operate the drop-down arrow button 54 to hunt for selections or options. As shown in FIG. 3(b), this action brings up a blank list 56. The blank list 56 further confuses the user and additionally may require the user to type something into the text entry section 52 of the combination box in order to defocus, even if the user is not yet ready to do so and does not know what to type because the user had expected to obtain a list of options in accordance with the expected operation of a list box.
To alleviate this problem, the prior art also teaches a modification of the drop-down combination box wherein the list includes a default initial text. Many Internet browsers, for example, use such a modified combination box as the address line dialog box. The default address is usually an intuitively clear phrase such as “Blank page”. This modified drop-down combination box may reduce confusion for the user, but it also places irrelevant, and usually unwanted, text into the text entry section of the combination box. In order to enter meaningful text the user must first delete the unwanted default text, which increases user effort and adds to the frustration. The modified combination box also retains an unconventional appearance which is indistinguishable from a list dialog box. The user may be misled into believing the modified drop-down combination box actually is a list box. Because a list box does not allow free-form text entry, the user may therefore fail to take advantage of the text-editing capability of the drop-down combination box and instead limit his activities to the default value(s) presented.
There remains, therefore, a need for an improved text entry dialog box, which retains the appearance of a conventional text entry line while providing a way to recall previously entered text. The present invention contemplates such an improved text entry dialog box.